CSCI 0010 - Introduction to Computing

http://catalog.sierracollege.edu/course-outlines/csci-0010/

Catalog Description DESCRIPTION IS HERE: Advisory: Completion of MATH A with grade of "C" or better Hours: 72 (54 lecture, 18 laboratory) Description: Survey of computer science technologies and methods. Introduction to computer hardware and software, structured programming, operating system concepts, communications and social impacts of computer technology. Explore current and emerging topics such as robotics, computer security and artificial intelligence. (CSU, UC) Units 3 Lecture-Discussion 54 Laboratory 18 By Arrangement Contact Hours 72 Outside of Class Hours Course Student Learning Outcomes Describe the software development life-cycle. Describe the principles of structured programming and be able to describe, design, implement, and test structured programs using currently accepted methodology. Explain what an algorithm is and its importance in computer programming. Explain moral and ethical issues in computer science. Course Content Outline Lecture Content: A. Introduction 1. Computing Systems 2. The History of Computing 3. Computing as a Tool and a Discipline B. Binary Values and Number Systems 1. Numbers and Computing 2. Positional Notation C. Data Representation 1. Data and Computers 2. Representing Numeric Data 3. Representing Text 4. Representing Audio Data 5. Representing Images and Graphics 6. Representing Video D. Gates and Circuits 1. Computers and Electricity 2. Gates 3. Constructing Gates 4. Circuits 5. Circuits as Memory 6. Integrated Circuits 7. CPU Chips E. Computing Components 1. Individual Computer Components 2. Stored-Program Concept 3. Embedded Systems 4. Parallel Architectures F. Low-Level Programming Languages and Pseudocode 1. Computer Operations 2. Machine Language 3. A Program Example 4. Assembly Language 5. Expressing Algorithms 6. Testing G. Problem Solving and Algorithms 1. How to Solve Problems 2. Algorithms and Simple Variables 3. Composite Variables 4. Searching Algorithms 5. Sorting 6. Recursive Algorithms 7. Important Threads H. Abstract Data Types and Subprograms 1. What is an Abstract Data Type? 2. Stacks 3. Queues 4. Lists 5. Trees 6. Graphs 7. Subprograms I. Object-Oriented Design and High-Level Programming Languages 1. Object-Oriented Methodology 2. Translation Process 3. Programming Language Paradigms 4. Functionality in High-Level Languages 5. Functionality of Object-Oriented Languages 6. Comparison of Procedural and Object-Oriented Designs J. Operating Systems 1. Roles of an Operating System 2. Memory Management 3. Process Management 4. CPU Scheduling K. File Systems and Directories 1. File Systems 2. Directories 3. Disk Scheduling L. Information Systems 1. Managing Information 2. Spreadsheets 3. Database Management Systems 4. E-Commerce 5. Information Security 6. Computer Security M. Artificial Intelligence 1. Thinking Machines 2. Knowledge Representation 3. Expert Systems 4. Neural Networks 5. Natural Language Processing 6. Robotics N. Simulation, Graphics, Gaming, and Other Applications 1. What is Simulation? 2. Specific Models 3. Computer Graphics 4. Gaming O. Networks 1. Networking 2. Open Systems and Protocols 3. Network Addresses 4. Social Networks 5. Cloud Computing P. The World Wide Web 1. Spinning the Web 2. HTML 3. Interactive Web Pages 4. XML Laboratory Content: A. Introduction to Processing 1. Specifying pixel coordinates 2. Basic shapes: point, line, rectangle, ellipse 3. Color: grayscale, RGB 4. Color transparency B. Interaction 1. The flow of a program 2. The meaning behind setup() and draw() 3. Mouse interaction 4. Dynamic Processing programs 5. Handling events, such as mouse clicks and key presses C. Variables 1. Variables: What are they? 2. Declaring and initializing variables 3. Common uses for variables 4. Built-in variables 5. Using random values for variables D. Conditionals 1. Boolean expressions 2. Conditional statements 3. If, Else If, Else E. Loops 1. The concept of iteration 2. Two types of loops: While and For 3. Iteration in the context of computer graphics F. Functions 1. Modularity 2. Declaring and defining a function 3. Calling a function 4. Parameter passing 5. Returning a value G. Objects 1. Data and functionality 2. What is an object? 3. What is a class? 4. Creating classes and objects H. Spreadsheets 1. Entering data 2. Simple calculations 3. Using formulas and functions 4. Absolute references 5. Formatting the results I. Databases 1. SQL: Structured Query Language 2. Simple SELECT statements 3. Table Joins 4. More advanced SELECT statements 5. Using INSERT, UPDATE, and DELETE J. Web Pages 1. Basic HTML syntax 2. Headings, paragraphs, and lists 3. Images 4. Hypertext links 5. Multiple pages Course Objectives Course Objectives Lecture Objectives: 1. Identify at least three places computers can be found in our society, other than personal computers. 2. Compare and contrast data input and storage mechanisms from previous generations of computers to those in current use. 3. Compare and contrast the specifications of at least two commercially-available computer systems and associated common peripherals. 4. Describe the binary and hexadecimal counting systems. 5. Solve mathematical problems that are expressed in the decimal, binary, and hexadecimal counting systems. 6. Describe the relationship between bits and bytes. 7. Identify and describe the function of major computer components in a von Neumann architecture: CPU, CU, ALU, Bus, Disk Drive, RAM, ROM, Clock, and Input/Output Peripherals. 8. Identify the major components of mass storage devices (platters, read/write heads, recording surface, interface) and describe the logical layout of data (tracks, sectors, blocks, cylinders). 9. Describe the use of "abstraction" and "layering" in operating systems and networking. 10. Describe the purpose of disk-based virtual memory (swap) and the process by which swap space is used to alleviate shortages of RAM. 11. Identify the major components of modern graphical user interfaces: buttons, scrollbars, menus, windows, dialogs, input fields, text, images, cursor, click, drag. 12. Define and describe the networking terms: protocol, host, client, server, IP Address, TCP, LAN, router, checksum. Identify examples of each. 13. Apply current computer science theories, models, and techniques that provide a basis for problem identification and analysis, software design, development, implementation, verification, and documentation. 14. Distinguish the tradeoffs computer scientists must balance in software and hardware design in terms of cost, speed, and resource limitations. 15. Compare the relative efficiencies of at least two of the following algorithms: binary search, linear search, bubble sort, insertion sort, quicksort, find min/max. Laboratory Objectives: 1. Design, write, and run without errors a simple computer program utilizing variables, conditionals, and loops using a current programming language. 2. Prepare at least two simple web pages in HTML utilizing basic formatting tags, lists, images, colors, and links. View the web pages in a web browser. 3. Write, print, and save a document using a word processor. 4. Use a spreadsheet or database to define data fields, input data, express mathematical calculations that manipulate the data, and save the data. Methods of Evaluation Objective Examinations Problem Solving Examinations Skill Demonstrations Reading Assignments 1. Read the chapter on the history of computing and be prepared to discuss in class. 2. Read the website entitled "Beginner's Guide to HTML." Work through the examples shown by typing them into a text file editor, saving them, and viewing them in a web browser and be prepared to discuss in class. Writing, Problem Solving or Performance 1. Robots are becoming increasingly useful in our society. For example, one can buy a small robot to automatically vacuum a house. We can explore some of the technologies that make this possible using simple robot construction techniques. Design and write a program in Java or RCX to instruct a robot outfitted with individually powered wheels and light and touch sensors to wander around the floor, automatically avoiding obstacles. The robot should not go over any path more than once. The program is finished when the robot finds the black circle located in an arbitrary place. 2. Write a two-page essay describing your personal experiences with malware. Conclude your paper by describing at least two things you can do to remove malware from your computer and/or prevent it in the future. 3. Write a two-page paper tracing the evolution of input devices (punched cards, magnetic tape, disk drives), focusing on how the devices of yesterday have influenced the devices of today. Other (Term projects, research papers, portfolios, etc.) Methods of Instruction Laboratory Lecture/Discussion Distance Learning Other materials and-or supplies required of students that contribute to the cost of the course.

Advanced Manufacturing

http://catalog.sierracollege.edu/departments/advanced-manufacturing/

...Fundamentals of Mechatronics MECH 0010 Fundamentals of Electronics...Internship in Advanced Manufacturing BUS 0108 Negotiation, Conflict...